package com.v8dn.app.util.excel.test;

import java.lang.reflect.Method;

/**
 * @title 基础类
 * @author lhf
 * @date 2012-10-30 下午10:36:33
 * @description 使用此功能的类需要继承该类
 */
public abstract class ExcelObj{
	private String errMsg;

	public String getErrMsg(){
		return errMsg;
	}

	public void setErrMsg(String errMsg){
		this.errMsg=errMsg;
	}

	/**
	 * @title 通过属性名设置属性值
	 * @param name名称
	 * @param value值
	 */
	public void putValue(String name,Object value){
		Class c=this.getClass();
		Class v=value.getClass();
		try{
			Method m=c.getMethod("set"+name,new Class[]{v});
			m.invoke(this,new Object[]{value});
		}catch(Exception e){
			// TODO: 处理异常
			e.printStackTrace();
		}
	}

	/**
	 * @title 返回属性名对应的值
	 * @param name名称
	 * @return 属性名对应的值
	 */
	public Object outValue(String name){
		Class c=this.getClass();
		Object o=null;
		try{
			Method m=c.getMethod("get"+name,new Class[]{});
			o=m.invoke(this,new Object[]{});
		}catch(Exception e){
			e.printStackTrace();
		}
		return o;
	}
}
